<template>
  <div class="user-edit">
    <Drawer :title="title" v-model="visible" width="1024" :mask-closable="false">
      <Scroll :height="height">
        <div style="width: 98%">
          <div style="background-color: rgba(139,139,139,0.6); font-size: 18px;font-family: '宋体';">
            <div style="width: 95%;background-color: #ffffff;margin: 0 auto;">
              <div class="paperStyle">
                <div style="margin: 42px 36px;line-height: 34px;font-family: '宋体';font-size:16px;color: #000;"  id="page_project_contract">
                  <div style="height: 200px;"></div>
                  <div style="text-align: center;font-family: '微软雅黑'"><h1>电力工程总承包合同</h1></div>
                  <div style="height: 350px;"></div>
                  <div class="cover-content">合同名称：<u>{{ contractForm.contract.project_name }}</u></div>
                  <div class="cover-content">委托方(以下简称甲方)：<u>{{ contractForm.contract.part_a.name }}</u></div>
                  <div class="cover-content">承包方(以下简称乙方)：<u>{{ contractForm.contract.part_b.name }}</u></div>
                  <div class="cover-content">合同编号：<u>{{ contractForm.contract.contract_code }}</u></div>
                  <div class="cover-content">签订日期：<u>{{ contractForm.contract_date_cn }}</u></div>
                  <div style="height: 50px;"></div>
                  <hr>
                  <div style="height: 16px;"></div>
                  <div class="text-content">
                    <p>为了明确责任，确保施工工期和工程质量，根据《中华人民共和国民法典》的规定，结合本工程情况，经过双方协商一致，签订本合同。以资共同遵守。</p>
                    <p><b>一、订立合同单位</b></p>
                    <p>甲方：{{ contractForm.contract.part_a.name }}</p>
                    <p>乙方：{{ contractForm.contract.part_b.name }}</p>
                    <p><b>二、主要工作任务</b></p>
                    <p>{{ contractForm.contract.project_content }}</p>
                    <p><b>三、工程发包方式</b></p>
                    <p>{{ contractForm.contract.contract_award }}。</p>
                    <p><b>四、工程承包价格</b></p>
                    <p>1. 总造价：<u> {{ contractForm.contract_cost_big }} (￥{{ contractForm.contract.contract_cost }})</u></p>
                    <p>2. 出现下列情况调整工程造价：</p>
                    <p>2.1 新增加的工程量。</p>
                    <p>2.2 不按进度支付工程款及因青赔、外围等导致的窝工。</p>
                    <p>2.3 人力不可抗拒的自然灾害的影响。</p>
                    <p>3. 工程完结后，乙方以{{ contractForm.contract.tax_race}}%税率给甲方开具
                      {{ ticket_type[contractForm.contract.ticket_type-1].name }}。</p>
                    <p><b>五、施工工期</b></p>
                    <p>1. 开竣工日期： {{ contractForm.start_date_cn }} 至 {{ contractForm.end_date_cn }} </p>
                    <p>2. 出现下列情况，工期相应调整：</p>
                    <p>2.1 工程量增加；</p>
                    <p>2.2 未按合同要求拨付工程款；</p>
                    <p>2.3 对施工进度影响的其他因素（包括设备供应、气候条件等）；</p>
                    <p>2.4 人力不可抗拒的自然灾害的影响。</p>
                    <p><b>六、工程款付款方式</b></p>
                    <template v-if="contractForm.contract.pay_type == 0">
                    <p>本合同自签订后<u>{{ contractForm.contract.pay_limit }}</u>日内，发包方一次性支付工程款
                          <u> {{ contractForm.contract_cost_big }} (￥{{ contractForm.contract.contract_cost}})</u>。工程款付清后开工。</p>
                    </template>
                    <template v-if="contractForm.contract.pay_type == 1">
                      <p>本合同自签订后<u>{{ contractForm.contract.pay_limit }}</u>日内，发包方一次性支付工程总造价的{{contractForm.contract.first_race}}%
                        <u> {{ contractForm.first_pay_big }} (￥{{ contractForm.contract.first_pay }})</u>，
                         剩余的{{contractForm.contract.second_race}}%
                        <u> {{ contractForm.second_pay_big }} (￥{{ contractForm.contract.second_pay }}) </u>，待工程本体结束验收前一次性结清。工程首付款付清后开工。
                      </p>
                    </template>
                    <template v-if="contractForm.contract.pay_type == 2">
                    <p>本合同自签订后<u>{{ contractForm.contract.pay_limit }}</u>日内，{{ contractForm.contract.other_pay_type }}。工程首付款付清后开工。</p>
                    </template>
                    <p><b>七、双方的责任</b></p>
                    <p>1. 甲方主要责任：</p>
                    <p>1.1 按照合同要求拨付工程款；</p>
                    <p>1.2 负责施工地点周边外围协调及青苗赔偿；</p>
                    <p>1.3 负责自购设备、材料应符合国家及行业标准，保证产品质量合格；</p>
                    <p>1.4 负责配合乙方共同解决施工中出现的其他问题；</p>
                    <p>1.5 负责施工工程中的中间检查、抽检和验收工作。</p>
                    <p>2. 乙方主要责任：</p>
                    <p>2.1 严格按照施工图文件和国家规范，精心组织施工，确保工程质量进度；</p>
                    <p>2.2 负责完成工程预算及验收后的竣工报告；</p>
                    <p>2.3 负责及时处理施工中出现的问题；</p>
                    <p>2.4 参加竣工验收；</p>
                    <p>2.5 工程竣工后及时向甲方上报结算书；</p>
                    <p>2.6 工程竣工后办理工程竣工资料移交。</p>
                    <p><b>八、工程质量及检验</b></p>
                    <p>1. 工程质量：</p>
                    <p>乙方按照甲方业务委托，严格依照施工图纸严格执行电力施工工艺标准要求和施工验收规范，精心组织施工，甲方并据此检查验收。</p>
                    <p>2. 工程验收及移交：</p>
                    <p>2.1 隐蔽工程在覆盖前，乙方需通知甲方验收签证，验收后，方可进行下一步工序施工，甲方未按时检查，乙方自检的记录，甲方应予以认可；</p>
                    <p>2.2 工程竣工后，乙方应向甲方递交工程竣工验收报告，移交全部技术资料；</p>
                    <p>2.3 工程竣工验收后，双方在5日内办理工程竣工结算，再次确认施工任务及完成情况。</p>
                    <p><b>九、方案变更</b></p>
                    <p>乙方严格按图施工，如在施工中因外部条件限制需要变更时，由甲乙双方共同商定处理方案，现场变更记录做为施工工程结算、工程验收移交的依据。</p>
                    <p><b>十、违约与仲裁</b></p>
                    <p>1. 违约：</p>
                    <p>由一方原因造成合同不能履行或不能完全履行，由责任方承担违约责任；由于双方原因，根据实际情况，由双方分别承担各自应负的违约责任。</p>
                    <p>2. 仲裁：</p>
                    <p>执行合同中，发生矛盾或经济纠纷，双方应本着实事求是的精神，平等互谅，协商解决；协商不成时，任何一方均可向合同仲裁部门申请仲裁，直至向法院提请诉讼。</p>
                    <p><b>十一、质量保修</b></p>
                    <p>本工程保修期为壹年。</p>
                    <p><b>十二、反商业贿赂</b></p>
                    <p>合同双方（或各方）承诺：在本合同磋商、签订、履行过程以及与本合同有关的所有环节中，合同双方（或各方）不会通过财物或者其他手段贿赂下列单位或者个人，以谋取交易机会或者竞争优势。</p>
                    <p>（一）合同相对方或合同相对方的工作人员；</p>
                    <p>（二）受合同相对方委托办理合同相关事务的单位或者个人；</p>
                    <p>（三）利用职权或者影响力影响合同的单位或者个人。</p>
                    <p><b>十三、合同生效、终止及其他</b></p>
                    <p>1. 本合同经双方单位及代理人签字盖章后生效，工程完工，双方结算及质保期满后自行终止。</p>
                    <p>2. 本合同{{bigNumber[1]}}式{{bigNumber[contractForm.contract.total]}}份，其中甲方{{bigNumber[contractForm.contract.part_a_count]}}份、乙方{{bigNumber[contractForm.contract.total-contractForm.contract.part_a_count]}}份。</p>
                    <p>3. 本合同中未尽事宜，由双方协商另行补充协议，其协议与本合同具有同等法律效力。</p>
                  </div>
                  <div style="height: 35px;"></div>
                  <table>
                    <tr>
                      <td width='5%'></td>
                      <td width='42%'>
                        <div class="height100">甲方（盖章）</div>
                        <div>代表（签字）</div>
                        <div class="height50" >地址：{{ contractForm.contract.part_a.address }}</div>
                        <div>电话：{{ contractForm.contract.part_a.mobile }}</div>
                        <div class="height50">开户银行：{{ contractForm.contract.part_a_account.bank_name }}</div>
                        <div>银行帐号：{{ contractForm.contract.part_a_account.bank_account }}</div>
                        <div>纳税人识别号：{{ contractForm.contract.part_a.credit_code }}</div>
                      </td>
                      <td width='10%'></td>
                      <td width='43%'>
                        <div class="height100">乙方（盖章）</div>
                        <div>代表（签字）</div>
                        <div class="height50">地址：{{  contractForm.contract.part_b.address }}</div>
                        <div>电话：{{ contractForm.contract.part_b.mobile }}</div>
                        <div class="height50">开户银行：{{ contractForm.contract.part_b_account.bank_name }}</div>
                        <div>银行帐号：{{ contractForm.contract.part_b_account.bank_account }}</div>
                        <div>纳税人识别号：{{ contractForm.contract.part_b.credit_code }}</div>
                      </td>
                    </tr>
                    <tr>
                      <td></td>
                      <td></td>
                      <td></td>
                      <td>签订日期： {{ contractForm.contract_date_cn }}</td>
                    </tr>
                  </table>
                </div>
              </div>
            </div>
          </div>
        </div>
      </Scroll>
      <div class="demo-drawer-footer">
        <Button @click="handleCancel" style="margin-right: 36px;">关闭</Button>
        <Button type="primary" :loading="submitLoading" @click="printHtml">打印</Button>
      </div>
    </Drawer>
  </div>
</template>
<script>
import { getPartAInfo, getPartBInfo, getAccount, getContractType } from '@/api/contract';
import { moneyToBig } from '@/libs/function';
import moment from 'moment';
import printJS from 'print-js';
export default {
  name: 'view-project-contract',
  props: {
    value: {
      type: Boolean,
      default: false
    },
    data: {
      type: Object
    },
  },
  data() {
    return {
      visible: this.value,
      title: '',
      height: 540,
      submitLoading: false,
      contractForm: {},
      bigNumber: [
        '零','壹','贰','叁','肆','伍','陆','柒','捌','玖','拾'
      ],
      part_a: {},
      part_b: {},
      part_a_account: {},
      part_b_account: {},
      contract_award: [],
      ticket_type: [],
    }
  },
  methods: {
    init() {
      this.title = '查看工程合同';
      this.contractForm = this.data;
      this.contractForm.contract_cost_big = moneyToBig(this.data.contract.contract_cost);
      this.contractForm.first_pay_big = moneyToBig(this.data.contract.first_pay);
      this.contractForm.second_pay_big = moneyToBig(this.data.contract.second_pay);
      this.contractForm.contract_date_cn = moment(this.data.contract.contract_date).format('YYYY年MM月DD日');
      this.contractForm.start_date_cn = moment(this.data.contract.start_date).format('YYYY年MM月DD日');
      this.contractForm.end_date_cn = moment(this.data.contract.end_date).format('YYYY年MM月DD日');
      getContractType({type: 2}).then(res => {
        if (res.code === 0) {
          this.contract_award = res.data;
        }
      });
      getContractType({type: 12}).then(res => {
        if (res.code === 0) {
          this.ticket_type = res.data;
        }
      });
    },
    handleCancel() {
      this.visible = false;
    },
    printHtml() {
      let options = {
        printable: 'page_project_contract',
        type: 'html',
        scanStyles: false,
        style: `
.cover-content{
  text-indent: 50px;
  margin-bottom: 15px;
}
.text-content{
  
}
.text-content p{
  text-indent: 36px;
  font-size: 16px;
  margin-bottom: 1px;
  margin-top: 1px;
  padding-top: 1px;
  padding-bottom: 1px;
  line-height: 28px;
}
.paperStyle {
  border: solid 1px #bdbdbd;
  margin: 24px auto;
}
.height100{
  height: 130px;
}
.height50{
  height: 50px;
  line-height: 22px;
}
        `
      };
      printJS(options);
    },
    setCurrentValue(value) {
      this.visible = value;
    },
    
  },
  watch: {
    value(val) {
      this.setCurrentValue(val);
    },
    visible(value) {
      this.init();
      this.$emit("input", value);
      
    }
  },
  mounted() {
    this.height = Number(document.documentElement.clientHeight - 100);
  }
}
</script>
<style lang="less" scoped>
.demo-drawer-footer{
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  border-top: 1px solid #e8e8e8;
  padding: 10px 16px;
  text-align: right;
  background: #fff;
}
.cover-content{
  text-indent: 160px;
  margin-bottom: 15px;
}
.text-content{
  margin: 46px 46px;
}
.text-content p{
  text-indent: 36px;
  font-size: 16px;
  margin-bottom: 1px;
  margin-top: 1px;
  padding-top: 1px;
  padding-bottom: 1px;
  line-height: 24px;
  font-family: 'songti';
}
.paperStyle {
  border: solid 1px #bdbdbd;
  margin: 24px auto;
}
.height100{
  height: 100px;
}
.height50{
  height: 50px;
  line-height: 22px;
}
</style>